package com.ruoyi.product.domain.Shopping;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.product.domain.ProductCategory;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 商品管理表对象 management
 *
 * @author cs
 * @date 2024-07-2604
 */
public class Management extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;
    /** 商品图 */
    @Excel(name = "商品图")
    private String image;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;
    private ProductCategory productCategory;

    public ProductCategory getProductCategory() {
        return productCategory;
    }

    public void setProductCategory(ProductCategory productCategory) {
        this.productCategory = productCategory;
    }

    public Long getAmount() {
        return amount;
    }

    public void setAmount(Long amount) {
        this.amount = amount;
    }

    /** 商品类型 */
    @Excel(name = "商品类型")
    private String type;

    /** 商品售价 */
    @Excel(name = "商品售价")
    private Long sellingPrice;

    /** 商品销量 */
    @Excel(name = "商品销量")
    private Long sales;

    /** 库存 */
    @Excel(name = "库存")
    private Long inventory;
    private Long amount;

    /** 排序 */
    @Excel(name = "排序")
    private Long sort;

    /** 状态 */
    @Excel(name = "状态")
    private Long status;

    /** 商品分类 */
    @Excel(name = "商品分类")
    private String classifyName;

    /** 商品市场价格 */
    @Excel(name = "商品市场价格")
    private Long market;

    /** 成本价 */
    @Excel(name = "成本价")
    private Long cost;

    /** 收藏 */
    @Excel(name = "收藏")
    private Long collection;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 是否添加视频 */
    @Excel(name = "是否添加视频")
    private String addVideo;

    /** 视频 */
    @Excel(name = "视频")
    private String video;

    /** 虚拟销量 */
    @Excel(name = "虚拟销量")
    private Long virtualSalesVolume;

    /** 重量 */
    @Excel(name = "重量")
    private Long weight;

    /** 体积 */
    @Excel(name = "体积")
    private Long volume;

    /** 物流方式 */
    @Excel(name = "物流方式")
    private String Logistics;

    /** 固定邮费 */
    @Excel(name = "固定邮费")
    private Long postage;

    /** 购买送积分 */
    @Excel(name = "购买送积分")
    private Long integral;

    /** 详情 */
    @Excel(name = "详情")
    private String detail;

    /** 运费模板 */
    @Excel(name = "运费模板")
    private String template;

    /** 模板名称 */
    @Excel(name = "模板名称")
    private String templateName;

    /** 计费方式 */
    @Excel(name = "计费方式")
    private Long billing;

    /** 可配送区域 */
    @Excel(name = "可配送区域")
    private String distribution;

    /** 首件 */
    @Excel(name = "首件")
    private Long firstPiece;

    /** 运费 */
    @Excel(name = "运费")
    private Long freight;

    /** 续件 */
    @Excel(name = "续件")
    private Long continued;

    /** 续费 */
    @Excel(name = "续费")
    private Long renewal;

    /** 指定包邮 */
    @Excel(name = "指定包邮")
    private Long designatedFreeShipping;

    /** 包邮区域 */
    @Excel(name = "包邮区域")
    private String freeShippingArea;

    /** 指定不送达 */
    @Excel(name = "指定不送达")
    private Long specifyNotDelivered;

    /** 不送达区域 */
    @Excel(name = "不送达区域")
    private String undeliveredRegions;

    /** 关联用户标签 */
    @Excel(name = "关联用户标签")
    private String associateUserTags;

    /** 付费会员专属 */
    @Excel(name = "付费会员专属")
    private Long exclusiveToPaidMembers;

    /** 起购数量 */
    @Excel(name = "起购数量")
    private Long minimumPurchaseQuantity;

    /** 是否限购 */
    @Excel(name = "是否限购")
    private Long purchase;

    /** 限购类型 */
    @Excel(name = "限购类型")
    private Long purchaseRestrictionType;

    /** 限购数量 */
    @Excel(name = "限购数量")
    private Long purchaseLimit;

    /** 预售商品 */
    @Excel(name = "预售商品")
    private Long preSale;

    /** 预售活动开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预售活动开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date preSaleStarttime;

    /** 预售活动结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预售活动结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date preSaleEndtime;

    /** 发货时间 */
    @Excel(name = "发货时间")
    private Long shippingTime;

    /** 商品推荐 */
    @Excel(name = "商品推荐")
    private String productRecommendations;

    /** 活动优先级 */
    @Excel(name = "活动优先级")
    private String activityPriority;

    /** 商品关键字 */
    @Excel(name = "商品关键字")
    private String productKeywords;

    /** 商品简介 */
    @Excel(name = "商品简介")
    private String productDescription;

    /** 商品口令 */
    @Excel(name = "商品口令")
    private String productPassword;

    /** 商品推荐图 */
    @Excel(name = "商品推荐图")
    private String productRecommendationImage;

    /** 雪花id用于和其他表连接 */
    @Excel(name = "雪花id用于和其他表连接")
    private String snowflakesId;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setImage(String image)
    {
        this.image = image;
    }

    public String getImage()
    {
        return image;
    }
    public void setProductName(String productName)
    {
        this.productName = productName;
    }

    public String getProductName()
    {
        return productName;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public void setSellingPrice(Long sellingPrice)
    {
        this.sellingPrice = sellingPrice;
    }

    public Long getSellingPrice()
    {
        return sellingPrice;
    }
    public void setSales(Long sales)
    {
        this.sales = sales;
    }

    public Long getSales()
    {
        return sales;
    }
    public void setInventory(Long inventory)
    {
        this.inventory = inventory;
    }

    public Long getInventory()
    {
        return inventory;
    }
    public void setSort(Long sort)
    {
        this.sort = sort;
    }

    public Long getSort()
    {
        return sort;
    }
    public void setStatus(Long status)
    {
        this.status = status;
    }

    public Long getStatus()
    {
        return status;
    }
    public void setClassifyName(String classifyName)
    {
        this.classifyName = classifyName;
    }

    public String getClassifyName()
    {
        return classifyName;
    }
    public void setMarket(Long market)
    {
        this.market = market;
    }

    public Long getMarket()
    {
        return market;
    }
    public void setCost(Long cost)
    {
        this.cost = cost;
    }

    public Long getCost()
    {
        return cost;
    }
    public void setCollection(Long collection)
    {
        this.collection = collection;
    }

    public Long getCollection()
    {
        return collection;
    }
    public void setUnit(String unit)
    {
        this.unit = unit;
    }

    public String getUnit()
    {
        return unit;
    }
    public void setAddVideo(String addVideo)
    {
        this.addVideo = addVideo;
    }

    public String getAddVideo()
    {
        return addVideo;
    }
    public void setVideo(String video)
    {
        this.video = video;
    }

    public String getVideo()
    {
        return video;
    }
    public void setVirtualSalesVolume(Long virtualSalesVolume)
    {
        this.virtualSalesVolume = virtualSalesVolume;
    }

    public Long getVirtualSalesVolume()
    {
        return virtualSalesVolume;
    }
    public void setWeight(Long weight)
    {
        this.weight = weight;
    }

    public Long getWeight()
    {
        return weight;
    }
    public void setVolume(Long volume)
    {
        this.volume = volume;
    }

    public Long getVolume()
    {
        return volume;
    }
    public void setLogistics(String Logistics)
    {
        this.Logistics = Logistics;
    }

    public String getLogistics()
    {
        return Logistics;
    }
    public void setPostage(Long postage)
    {
        this.postage = postage;
    }

    public Long getPostage()
    {
        return postage;
    }
    public void setIntegral(Long integral)
    {
        this.integral = integral;
    }

    public Long getIntegral()
    {
        return integral;
    }
    public void setDetail(String detail)
    {
        this.detail = detail;
    }

    public String getDetail()
    {
        return detail;
    }
    public void setTemplate(String template)
    {
        this.template = template;
    }

    public String getTemplate()
    {
        return template;
    }
    public void setTemplateName(String templateName)
    {
        this.templateName = templateName;
    }

    public String getTemplateName()
    {
        return templateName;
    }
    public void setBilling(Long billing)
    {
        this.billing = billing;
    }

    public Long getBilling()
    {
        return billing;
    }
    public void setDistribution(String distribution)
    {
        this.distribution = distribution;
    }

    public String getDistribution()
    {
        return distribution;
    }
    public void setFirstPiece(Long firstPiece)
    {
        this.firstPiece = firstPiece;
    }

    public Long getFirstPiece()
    {
        return firstPiece;
    }
    public void setFreight(Long freight)
    {
        this.freight = freight;
    }

    public Long getFreight()
    {
        return freight;
    }
    public void setContinued(Long continued)
    {
        this.continued = continued;
    }

    public Long getContinued()
    {
        return continued;
    }
    public void setRenewal(Long renewal)
    {
        this.renewal = renewal;
    }

    public Long getRenewal()
    {
        return renewal;
    }
    public void setDesignatedFreeShipping(Long designatedFreeShipping)
    {
        this.designatedFreeShipping = designatedFreeShipping;
    }

    public Long getDesignatedFreeShipping()
    {
        return designatedFreeShipping;
    }
    public void setFreeShippingArea(String freeShippingArea)
    {
        this.freeShippingArea = freeShippingArea;
    }

    public String getFreeShippingArea()
    {
        return freeShippingArea;
    }
    public void setSpecifyNotDelivered(Long specifyNotDelivered)
    {
        this.specifyNotDelivered = specifyNotDelivered;
    }

    public Long getSpecifyNotDelivered()
    {
        return specifyNotDelivered;
    }
    public void setUndeliveredRegions(String undeliveredRegions)
    {
        this.undeliveredRegions = undeliveredRegions;
    }

    public String getUndeliveredRegions()
    {
        return undeliveredRegions;
    }
    public void setAssociateUserTags(String associateUserTags)
    {
        this.associateUserTags = associateUserTags;
    }

    public String getAssociateUserTags()
    {
        return associateUserTags;
    }
    public void setExclusiveToPaidMembers(Long exclusiveToPaidMembers)
    {
        this.exclusiveToPaidMembers = exclusiveToPaidMembers;
    }

    public Long getExclusiveToPaidMembers()
    {
        return exclusiveToPaidMembers;
    }
    public void setMinimumPurchaseQuantity(Long minimumPurchaseQuantity)
    {
        this.minimumPurchaseQuantity = minimumPurchaseQuantity;
    }

    public Long getMinimumPurchaseQuantity()
    {
        return minimumPurchaseQuantity;
    }
    public void setPurchase(Long purchase)
    {
        this.purchase = purchase;
    }

    public Long getPurchase()
    {
        return purchase;
    }
    public void setPurchaseRestrictionType(Long purchaseRestrictionType)
    {
        this.purchaseRestrictionType = purchaseRestrictionType;
    }

    public Long getPurchaseRestrictionType()
    {
        return purchaseRestrictionType;
    }
    public void setPurchaseLimit(Long purchaseLimit)
    {
        this.purchaseLimit = purchaseLimit;
    }

    public Long getPurchaseLimit()
    {
        return purchaseLimit;
    }
    public void setPreSale(Long preSale)
    {
        this.preSale = preSale;
    }

    public Long getPreSale()
    {
        return preSale;
    }
    public void setPreSaleStarttime(Date preSaleStarttime)
    {
        this.preSaleStarttime = preSaleStarttime;
    }

    public Date getPreSaleStarttime()
    {
        return preSaleStarttime;
    }
    public void setPreSaleEndtime(Date preSaleEndtime)
    {
        this.preSaleEndtime = preSaleEndtime;
    }

    public Date getPreSaleEndtime()
    {
        return preSaleEndtime;
    }
    public void setShippingTime(Long shippingTime)
    {
        this.shippingTime = shippingTime;
    }

    public Long getShippingTime()
    {
        return shippingTime;
    }
    public void setProductRecommendations(String productRecommendations)
    {
        this.productRecommendations = productRecommendations;
    }

    public String getProductRecommendations()
    {
        return productRecommendations;
    }
    public void setActivityPriority(String activityPriority)
    {
        this.activityPriority = activityPriority;
    }

    public String getActivityPriority()
    {
        return activityPriority;
    }
    public void setProductKeywords(String productKeywords)
    {
        this.productKeywords = productKeywords;
    }

    public String getProductKeywords()
    {
        return productKeywords;
    }
    public void setProductDescription(String productDescription)
    {
        this.productDescription = productDescription;
    }

    public String getProductDescription()
    {
        return productDescription;
    }
    public void setProductPassword(String productPassword)
    {
        this.productPassword = productPassword;
    }

    public String getProductPassword()
    {
        return productPassword;
    }
    public void setProductRecommendationImage(String productRecommendationImage)
    {
        this.productRecommendationImage = productRecommendationImage;
    }

    public String getProductRecommendationImage()
    {
        return productRecommendationImage;
    }
    public void setSnowflakesId(String snowflakesId)
    {
        this.snowflakesId = snowflakesId;
    }

    public String getSnowflakesId()
    {
        return snowflakesId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("image", getImage())
                .append("productName", getProductName())
                .append("type", getType())
                .append("sellingPrice", getSellingPrice())
                .append("sales", getSales())
                .append("inventory", getInventory())
                .append("sort", getSort())
                .append("status", getStatus())
                .append("classifyName", getClassifyName())
                .append("market", getMarket())
                .append("cost", getCost())
                .append("collection", getCollection())
                .append("unit", getUnit())
                .append("addVideo", getAddVideo())
                .append("video", getVideo())
                .append("virtualSalesVolume", getVirtualSalesVolume())
                .append("weight", getWeight())
                .append("volume", getVolume())
                .append("Logistics", getLogistics())
                .append("postage", getPostage())
                .append("integral", getIntegral())
                .append("detail", getDetail())
                .append("template", getTemplate())
                .append("templateName", getTemplateName())
                .append("billing", getBilling())
                .append("distribution", getDistribution())
                .append("firstPiece", getFirstPiece())
                .append("freight", getFreight())
                .append("continued", getContinued())
                .append("renewal", getRenewal())
                .append("designatedFreeShipping", getDesignatedFreeShipping())
                .append("freeShippingArea", getFreeShippingArea())
                .append("specifyNotDelivered", getSpecifyNotDelivered())
                .append("undeliveredRegions", getUndeliveredRegions())
                .append("associateUserTags", getAssociateUserTags())
                .append("exclusiveToPaidMembers", getExclusiveToPaidMembers())
                .append("minimumPurchaseQuantity", getMinimumPurchaseQuantity())
                .append("purchase", getPurchase())
                .append("purchaseRestrictionType", getPurchaseRestrictionType())
                .append("purchaseLimit", getPurchaseLimit())
                .append("preSale", getPreSale())
                .append("preSaleStarttime", getPreSaleStarttime())
                .append("preSaleEndtime", getPreSaleEndtime())
                .append("shippingTime", getShippingTime())
                .append("productRecommendations", getProductRecommendations())
                .append("activityPriority", getActivityPriority())
                .append("productKeywords", getProductKeywords())
                .append("productDescription", getProductDescription())
                .append("productPassword", getProductPassword())
                .append("productRecommendationImage", getProductRecommendationImage())
                .append("snowflakesId", getSnowflakesId())
                .toString();
    }
}
